In many systems, unexpected system operation can be detected by circuits generally known as fault monitor circuits. Fault monitoring is accomplished in a conventional computer system, for example, by a combination of such circuits and fault processing software. Fault processing software records the fact of fault detection by the circuits in order that the event giving rise to the fault can be subsequently analyzed and the circumstances causing it can be treated. By treating the event, continued operation of the system is assured with minimum disruption, notice of intermittent operations can guide maintenance activity, and the overall cost of ownership of the system can be reduced while obtaining, to the greatest extent possible, uninterrupted system operation.
Due to the difficulty of analyzing system operations, the required reliability of fault processing software is extremely high. High reliability software is conventionally obtained through exhaustive software testing. However, in large systems, the difficulty of anticipating sophisticated fault events increases the number of test suites, the cost of developing test suites, and the cost of performing software testing using the test suites.
In view of the problems described above and related problems that consequently become apparent to those skilled in the applicable arts, the need remains in systems having fault monitors for economical and reliable automated methods for responding to faults.